package vg.services.graph_view_manager.interfaces.graph_view;

import vg.services.data_base_manager.data.graph.Vertex;


public interface IGraphAlgorithms {
	/**
	 * This method shows all cycles.
	 * Adds action to queue and returns control without execution of method. 
	 */
	public void showCycles(final Vertex vertex);

	/**
	 * This method finds and shows critical path from source vertex to target
	 * vertex.
	 * Adds action to queue and returns control without execution of method. 
	 */
	public void showCriticalPath(final Vertex source, final Vertex target, final boolean maximum, final String attrName);

	/**
	 * This method finds and shows all paths from source vertex to target vertex.
	 * Adds action to queue and returns control without execution of method. 
	 */
	public void showPaths(final Vertex source, final Vertex target);
}
